<?php
namespace app\admin\controller;
use think\Controller;

class Banner extends Controller
{

    public function index(){
        $data = Db('banner')->paginate(10);
        $page = $data->render();
        $this->assign('page',$page);
        $this->assign('data',$data);
        return $this->fetch();
    }


    /**
     * banner图添加
     */
    public function add(){
        if(request()->isPost()){
            $post = input('param.');
            // 获取表单上传文件
            $file = request()->file('image');
            if(!empty($file)){
                // 移动到框架应用根目录/public/uploads/ 目录下
                $info = $file->validate(['size'=>3145728,'ext'=>'jpg,png,gif'])->rule('uniqid')->move(ROOT_PATH . 'public' . DS . 'uploads');
                $error = $file->getError();
                    //验证文件后缀后大小
                    if(!empty($error)){
                        dump($error);exit;
                    }
                if($info){
                    // 成功上传后 获取上传信息
                    // 输出 jpg
                    $info->getExtension();
                    // 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg
                    $info->getSaveName();
                    // 输出 42a79759f284b767dfcb2a0197904287.jpg
                    $post['image'] = $info->getFilename();

                }else{
                    // 上传失败获取错误信息
                    $file->getError();
                }
            }else{
                return $this->error('请上传banner图');
            }

            $num = Db('banner')->insert($post);
            if($num>0){
                return $this->success('更新成功');
            }else{
                return $this->error('更新失败');
            }
        }
        return $this->fetch();
    }



    /**
     * 编辑
     */
    public function edit(){
        if(request()->isPost()){
            $post = input('param.');
            // 获取表单上传文件
            $file = request()->file('image');
            if(!empty($file)){
                // 移动到框架应用根目录/public/uploads/ 目录下
                $info = $file->validate(['size'=>3145728,'ext'=>'jpg,png,gif'])->rule('uniqid')->move(ROOT_PATH . 'public' . DS . 'uploads');
                $error = $file->getError();
                    //验证文件后缀后大小
                    if(!empty($error)){
                        dump($error);exit;
                    }
                if($info){
                    // 成功上传后 获取上传信息
                    // 输出 jpg
                    $info->getExtension();
                    // 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg
                    $info->getSaveName();
                    // 输出 42a79759f284b767dfcb2a0197904287.jpg
                    $post['image'] = $info->getFilename();

                }else{
                    // 上传失败获取错误信息
                    $file->getError();
                }
            }else{
                $post['image'] = Db('banner')->where('id',$post['id'])->value('image');
            }

            $num = Db('banner')->where('id',$post['id'])->update(['image'=>$post['image'],'status'=>$post['status'],'content'=>$post['content']]);
            if($num>0){
                return $this->success('更新成功');
            }else{
                return $this->error('更新失败');
            }

        }
        $param = input('param.');
        $data = Db('banner')->where('id',$param['id'])->find();
        $this->assign('data',$data);
        return $this->fetch();
    }



    /**
     * 修改banner状态
     */
    public function changeatatus(){
        if(request()->isPost()){
            $post = input('param.');
            $id = $post['id'];
            $statuid = $post['status'];
            if($statuid == 1){
                $statuid = 0;
                $num = Db('banner')->where('id',$id)->update(['status'=>$statuid]);
                if($num>0){
                    $statuid = Db('banner')->where('id',$id)->value('status');
                    return json(['statuid'=>$statuid,'msg'=>'修改成功']);
                }else{
                    $statuid = Db('banner')->where('id',$id)->value('status');
                    return json(['statuid'=>$statuid,'msg'=>'修改失败']);
                }
            }else{
                $statuid = 1;
                $num = Db('banner')->where('id',$id)->update(['status'=>$statuid]);
                if($num>0){
                    $statuid = Db('banner')->where('id',$id)->value('status');
                    return json(['statuid'=>$statuid,'msg'=>'修改成功']);
                }else{
                    $statuid = Db('banner')->where('id',$id)->value('status');
                    return json(['statuid'=>$statuid,'msg'=>'修改失败']);
                }
            }
        }
    }



    /**
     * 删除
     */
    public function delete(){
        if(request()->isPost()){
            $post = input('param.');
            $id = $post['id'];
            if(!empty($id)){
                $num = Db('banner')->where('id',$id)->delete();
                if($num>0){
                    //删除成功
                    return 1;
                }else{
                    //删除失败
                    return 2;
                }
            }else{
                //id不存在
                return 3;
            }
        }else{
            //请求格式不对
            return 4;
        }
    }
















}